home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / nrpas13.arc / RAN0.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-01  |  662b  |  26 lines

  1. FUNCTION ran0(VAR idum: integer): real;
  2. (* RAN0 assumes that the system random number generator is called RANDOM,
  3. with no arguments. Programs using RAN0 must declare the following
  4. variables
  5. VAR
  6.    gly: real;
  7.    glv: ARRAY [1..97] OF real;
  8. in the main routine. *)
  9. VAR
  10.    dum: real;
  11.    j: integer;
  12. BEGIN
  13.    IF (idum < 0) THEN BEGIN
  14.       idum := 1;
  15.       FOR j := 1 TO 97 DO dum := random;
  16.       FOR j := 1 TO 97 DO glv[j] := random;
  17.       gly := random
  18.    END;
  19.    j := 1+trunc(97.0*gly);
  20.    IF ((j > 97) OR (j < 1)) THEN BEGIN
  21.       writeln('pause in routine RAN0'); readln END;
  22.    gly := glv[j];
  23.    ran0 := gly;
  24.    glv[j] := random
  25. END;
  26.